"""
File: config.py
Author: J
Date: 2020-02-12
Connect: 
Description:
项目的配置文件，存储配置信息
"""
from datetime import timedelta
from celery.schedules import crontab

# 使用Redis作为消息代理(Broker，消息中间件)
BROKER_URL = 'redis://127.0.0.1:6379/1'
# 使用Redis作为任务执行结果存储(Backend)数据库,也可以是MySQL数据库
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/2'
# 任务序列化和反序列化格式为msgpack(类似json格式)
CELERY_TASK_SERIALIZER = 'msgpack'
# 任务结果序列化存储格式为JSON(可读性更好)
CELERY_RESULT_SERIALIZER = 'json'
# 任务过期时间
CELERY_TASK_RESULT_EXPIRES = 60 * 60 * 24
CELERY_ACCEPT_CONTENT = ['json', 'msgpack']
# 设置时区
CELERY_TIMEZONE = 'Asia/Shanghai'
# 配置定时任务
CELERYBEAT_SCHEDULE = {
    'send-every-3-seconds': {
        # 执行的任务名称
        'task': 'tasks.send_email',
        # 定时任务设置(每隔5秒)
        'schedule': timedelta(seconds=5),
        # crontab定时任务(同Linux定时任务crontab配置)
        # 'schedule': crontab(hour=16, minute=30),
        'args': ({'to': 'hello@qq.com'},)
    },
    'add-every-10-seconds': {
        'task': 'tasks.add',
        'schedule': timedelta(seconds=10),
        'args': (1, 2)
    }
}
